/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package agentebiometrico;

import JpaDao.AgenteRelojDao;
import JpaDao.RelojDao;
import jade.core.Agent;
import jade.core.behaviours.Behaviour;

/**
 *
 * @author luis
 */
import agentebiometrico.modelo.Reloj;
import agentebiometrico.utilidades.Tiempo;
import java.util.ArrayList;
import java.util.List;

public class Agente extends Agent {

    @Override
    protected void setup() {
        System.out.println("El agente se ha iniciado");

        addBehaviour(new Comportamiento());
//        doWait();
//        System.out.println(getState());
//        doWake();
//        System.out.println(getState());

        if (getState() == 2) {
            addBehaviour(new Comportamiento());
        }
//        if(getState()==6){
//            clean(true);
//        }
    }

    @Override
    protected void takeDown() {
        System.out.println("El agente se cerro");
    }

    private class Comportamiento extends Behaviour {

        Tiempo t = new Tiempo();

        @Override
        public void action() {
//            while (true) {
//                while (t.correTiempo(10)) {
//                    System.out.println("descargar");
            if (t.correTiempo(60)) {
                System.out.println("descargar");
                
                RelojDao rd = new RelojDao();
                AgenteRelojDao ard = new AgenteRelojDao();                 
                Reloj reloj = new Reloj();
                List<Reloj> ListaR = new ArrayList<Reloj>();
                ListaR.addAll(rd.EncontrarTodos());
                System.out.println("lista "+ListaR);
                if(ListaR != null){
                    String x = "";
                    for (Reloj r : ListaR) {
                        x += r + "      \n";
                        rd.eliminar(r);
                        ard.persistir(r);
                        
                    }
                    System.out.println(x);
                }else{
                    System.out.println("Base de datos vacia");
                }
                //ard.actualizar(ard);

            }
//                }

//            }
        }

        @Override
        public boolean done() {
            
            if (getState()==2) {
                addBehaviour(this);
                return false;
            }
            return true;
        }
    }

    public static void main(String[] args) {
    }
}
